home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d19 / 15rpch33.arc / DOORPCH.DOC < prev    next >
Text File  |  1988-09-28  |  81KB  |  2,280 lines

  1.  
  2.  
  3.  
  4.  
  5.          
  6.         
  7.                                                                                      
  8.                                                                            
  9.                                                                            
  10.                                D  O  O  R  P  C  H
  11.                               =====================
  12.         
  13.         
  14.                                    Release 3.3                                       
  15.         
  16.         
  17.                                 September 27, 1988                                    
  18.         
  19.         
  20.                    Clint Labarthe, Terry Shockley & Ben Perron                       
  21.                            Copyright (C),  1987, 1988                                
  22.         
  23.         
  24.                      Black Hole BBS, Longwood, Florida 32750                         
  25.         
  26.                              Node 1 BBS 407-260-6397                                 
  27.         
  28.                              Node 2 By Subscription                                  
  29.         
  30.                              300/1200/2400 24 Hours                                  
  31.         
  32.         
  33.                      Death Star BBS, Orlando, Florida 32751                         
  34.         
  35.                              Node 1 BBS 407-660-6300                                 
  36.         
  37.                                 300/1200 24 Hours                                  
  38.         
  39.  
  40.  
  41.         
  42.         
  43.                                Table  Of  Contents
  44.                               =====================
  45.         
  46.         
  47.         Overview   . . . . . . . . . . . . . . . . . . . . 1
  48.         
  49.         Disclaimer Of Liability  . . . . . . . . . . . . . 2
  50.         
  51.         Contents Of "ARC" File   . . . . . . . . . . . . . 3
  52.         
  53.         Features Of This Release   . . . . . . . . . . . . 5
  54.         
  55.         Change History . . . . . . . . . . . . . . . . . . 7
  56.           DoorPch Version 3.2  . . . . . . . . . . . . . . 7
  57.           DoorPch Version 3.3  . . . . . . . . . . . . . . 7
  58.         
  59.         Operating Environment  . . . . . . . . . . . . . . 8
  60.         
  61.         Planned Future Enhancements  . . . . . . . . . . . 9
  62.         
  63.         DoorPch Configuration File . . . . . . . . . . . . 10
  64.         
  65.         DoorPch Routines . . . . . . . . . . . . . . . . . 11 
  66.         
  67.         DoorPch Variables  . . . . . . . . . . . . . . . . 15
  68.         
  69.         Structure Of A DOOR Program  . . . . . . . . . . . 20
  70.           Include File Usage . . . . . . . . . . . . . . . 20
  71.           File Access Numbers  . . . . . . . . . . . . . . 21
  72.           Starting A DOOR  . . . . . . . . . . . . . . . . 21
  73.           Terminating a DOOR . . . . . . . . . . . . . . . 21
  74.           Compiling Your DOOR Program  . . . . . . . . . . 22
  75.           Linking Your DOOR Program  . . . . . . . . . . . 22
  76.           Executing Your DOOR Program  . . . . . . . . . . 23
  77.         
  78.         Programming Tip's  . . . . . . . . . . . . . . . . 24
  79.           ANSI Color Graphics  . . . . . . . . . . . . . . 24
  80.             Intensity Of Text  . . . . . . . . . . . . . . 24
  81.             Blinking Text  . . . . . . . . . . . . . . . . 24
  82.             Foreground/Background Colors . . . . . . . . . 24
  83.           Printing Output  . . . . . . . . . . . . . . . . 25
  84.             Printing Complete Line . . . . . . . . . . . . 25
  85.             Printing A Partial Line  . . . . . . . . . . . 25
  86.             Printing A Line & Get A Response . . . . . . . 25
  87.             Printing With Tab's  . . . . . . . . . . . . . 26
  88.           Ringing The Bell . . . . . . . . . . . . . . . . 26                                                                   
  89.           Adding Color The EASY Way  . . . . . . . . . . . 26
  90.           Sending ANSI Music . . . . . . . . . . . . . . . 27
  91.           Bell or Alarm Toggles  . . . . . . . . . . . . . 27
  92.           Clearing The Screen  . . . . . . . . . . . . . . 27
  93.           BASIC Keywords . . . . . . . . . . . . . . . . . 28
  94.           High Scores & Bulletins  . . . . . . . . . . . . 28
  95.         
  96.  
  97.  
  98.         
  99.         
  100.                                Table  Of  Contents
  101.                               =====================
  102.         
  103.         
  104.         Sysop Information  . . . . . . . . . . . . . . . . 29
  105.           Line 24 Of The Display . . . . . . . . . . . . . 29
  106.           Line 24/25 Of The Display  . . . . . . . . . . . 29
  107.         
  108.         DoorPch History  . . . . . . . . . . . . . . . . . 30
  109.         
  110.         DoorPch Credits  . . . . . . . . . . . . . . . . . 31
  111.         
  112.         Reporting Problems . . . . . . . . . . . . . . . . 32
  113.         
  114.         User Enhancement Requests  . . . . . . . . . . . . 33
  115.         
  116.         DoorPch Registration . . . . . . . . . . . . . . . 34                                                                   
  117.         
  118.         Trade Marks / Copyrights . . . . . . . . . . . . . 36
  119.         
  120.         DoorPch - Version 3.3
  121.         User's Guide for DOOR Programmers
  122.         
  123.         
  124.         Overview
  125.         ========
  126.                                                                            
  127.         DoorPch  is a set of Basic and Assembler language routines  which 
  128.         facilitate  the creation of a PCBoard (tm) DOOR program. All  the 
  129.         logic   to  monitor  the  carrier,  input  and  output  for   the 
  130.         communications  port  is included in the code.  Full  ANSI  color 
  131.         graphics  and ANSI music capabilities are also included. All  you 
  132.         must  do  is follow some simple interface requirements  and  then 
  133.         either  do a GOSUB or CALL to perform the required function.  The 
  134.         code also maintains an informative display on lines 24 and 25  of 
  135.         the  local  console, closely, and in some  cases,  exactly,  like 
  136.         PCBoard. The options to turn the display, bell and alarm on & off 
  137.         are  also at your disposal. Now, after reading this you  probably 
  138.         are saying "Huh ?" or "Sure!".  Really!  Its very simple....
  139.                                                                            
  140.         DoorPch  is  used by more DOORs than any other  software  of  its 
  141.         kind.  So  join  the fun of writing DOOR's.  You,  and  countless 
  142.         others,  will benefit from your efforts.  There  are  imitations, 
  143.         look-a-likes and competition from other less functional software. 
  144.         But there is only one DoorPch !
  145.         
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.                                      Page  1
  180.         DoorPch - Version 3.3
  181.         User's Guide for DOOR Programmers
  182.         
  183.         
  184.         Disclaimer Of Liability
  185.         =======================
  186.         
  187.         We assume no liability for its use.  You may copy it and share it 
  188.         with  others  so  long  as the code  and  the  documentation  are 
  189.         distributed together.  You may include this logic in as many DOOR 
  190.         programs   as  you  wish.   If  you  have  any  suggestions   for 
  191.         improvements to this code, reply to the address below or call our 
  192.         BBS's   at  the  number  stated  above.   Please   complete   the 
  193.         Registration form at the end of this documentation.  This program 
  194.         and  all  its INCLUDE and Library files are copyrighted.   It  is 
  195.         unlawful  to  disassemble  or  otherwise  decode  or  misuse  the 
  196.         software contained herein.  It is for your use in creating  DOORs 
  197.         and  may not be altered in an way.  You may not charge a fee  for 
  198.         its  use  or sell it.  DORPCH33.ARC is to be distributed  in  its 
  199.         ORIGINAL ARC format and contain ALL the original files.
  200.                                                                            
  201.                Send inquires to:   Clint Labarthe / Terry Shockley
  202.                                    P. O. Box 151445
  203.                                    Altamonte Springs, Florida, 32701-1445
  204.         
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.                                      Page  2
  240.         DoorPch - Version 3.3
  241.         User's Guide for DOOR Programmers
  242.         
  243.         
  244.         Contents Of "ARC" File
  245.         ======================
  246.         
  247.         The following files should be in DORPCH33.ARC:
  248.                                                                            
  249.          1.  BRUN30.EXE     Microsoft QuickBASIC 3.0 run-time library. It 
  250.                             has been patched to hold DTR.  See QBDTRPCH.
  251.         
  252.          2.  CLE.BAT        Batch  file  for compiling &  Linking  sample 
  253.                             DOOR program EXAMPLE.BAS.
  254.         
  255.          3.  COMPILE.BAT    Batch file to COMPILE your source module with 
  256.                             library DORPCH33.EXE.                               
  257.         
  258.          4.  DOORPCH.BEG    INCLUDE   this   code   AFTER   the   INCLUDE 
  259.                             of DOORPCH.USR.
  260.                             
  261.                             Note:  Some  variables must be set  prior  to 
  262.                             this INCLUDE. See README.NOW and DOCS.                
  263.         
  264.          5.  DOORPCH.DOC    This  documentation.  For use  in  developing 
  265.                             doors for PCBoard.
  266.         
  267.          6.  DOORPCH.END    INCLUDE this code at the END of  your program. 
  268.                             If  you are upgrading an earlier DOOR you  may 
  269.                             still  use  this  code.  It  replaced the  old 
  270.                             GETIN2.ASC.                                      
  271.         
  272.          7.  DOORPCH.USR    COMMON  variables. INCLUDE this code  at  the 
  273.                             BEGINNING of your program.                        
  274.         
  275.          8.  DOORPCH1.CFG   An example configuration file for single node 
  276.                             operation.                                          
  277.         
  278.          9.  DOORPCH2.CFG   An  example configuration file for Node 2  if
  279.                             required.
  280.         
  281.         10.  DORPCH33.EXE   You  MUST  compile  your DOOR  using  the  /L 
  282.                             DORPCH33.EXE  parameter.  The logic  in  this 
  283.                             library replaced most of the old GETIN2.
  284.         
  285.         11.  EXAMPLE.BAS    A nice example DOOR (source code).
  286.         
  287.         12.  EXAMPLE.EXE    The compiled ready-to-run EXAMPLE Door.
  288.         
  289.         13.  EXAMPLE.SCR    NON-GRAPHICS file for EXAMPLE.EXE
  290.         
  291.         14.  EXAMPLEG.SCR   GRAPHICS file for EXAMPLE.EXE
  292.         
  293.         15.  EXDOOR.BAT     An typical DOOR batch file.
  294.         
  295.         16.  LINKER.BAT     Batch file to LINK your .OBJ into an .EXE.
  296.         
  297.  
  298.  
  299.                                      Page  3
  300.         DoorPch - Version 3.3
  301.         User's Guide for DOOR Programmers
  302.         
  303.         
  304.         Contents Of "ARC" File (Continued)
  305.         ==================================
  306.         
  307.         17.  QBDTRPCH.ARC   Info  for  DEBUG  patch for  DTR  control  in
  308.                             QuickBASIC.
  309.         
  310.         18.  README.NOW     If included, should be READ right away !
  311.         
  312.         19.  SECURITY.DOC   How to use Mr. Clements "Security" System
  313.         
  314.         20.  SYSOP.DOC      You are to include this documentation  within
  315.                             the  ARC file containing your  DOOR  program.
  316.                             The  SysOp  will  need  this  information  to
  317.                             understand   how  to  interface  with   doors
  318.                             utilizing DOORPCH.
  319.                                                                            
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.                                      Page  4
  360.         DoorPch - Version 3.3
  361.         User's Guide for DOOR Programmers
  362.         
  363.         
  364.         Features Of This Release
  365.         ========================
  366.         
  367.         Does NOT require the use of CTTY !!                                     
  368.         
  369.         Constant  monitoring of COM port. Returns to PCBoard  if  carrier 
  370.         lost.                                                
  371.         
  372.         Supports Monochrome and Color PCBoard systems.                          
  373.         
  374.         Supports  all  the  standard COLORs in  ANSI.SYS  including  High 
  375.         Intensity and Blinking text.                             
  376.         
  377.         Supports the use of ANSI Music.                                         
  378.         
  379.         Informative line 24/25 display similar to PCBoard.                      
  380.         
  381.         Full interface to PCBoard by reading PCBOARD.SYS, PCBOARD.DAT and 
  382.         the USERS files.                                        
  383.         
  384.         Compatible  with  Networks using SHARE. A node  blocker  routine, 
  385.         limits DOOR programs that don't/can't run on two nodes to run  on 
  386.         one node at a time.
  387.         
  388.         Easy  to interface with. Minimal information required  from  your 
  389.         DOOR program.                                        
  390.         
  391.         DOOR can run in LOCAL mode as well as use the COM port.
  392.         
  393.         Screen  positioning (Col & Row) allow DOORS to update the  screen 
  394.         of  the caller rather than scrolling text (ANSI codes).  This  is 
  395.         very useful for DOORs which display a "board" on the screen.
  396.         
  397.         Allows  SysOp to CHAT with caller in DOOR  (F10).  Supports  word 
  398.         wrapping  at  end of line similarly to PCBoard.   All  CHAT  time 
  399.         credited so caller does not lose any time.
  400.         
  401.         SysOp can exit to DOS from inside the DOOR and return (F5).
  402.         
  403.         Includes  a  "standard"  high  score  routine  for  tracking  and 
  404.         maintaining a bulletin for each DOOR game.                          
  405.         
  406.         Provides  the ability to "read" GRAPHICS and  NON-GRAPHICS  files
  407.         from disk to display to a caller.  These files may be a menu  for
  408.         your door, perhaps a logon or logoff screen etc.  Its very easy!
  409.         
  410.         Also  supports  a DoorPch DOOR Monitor utility which  provides  a
  411.         complete DOOR environment (coming in the near future).
  412.         
  413.         Allows the use of ALT-N (SysOp NEXT ON).
  414.         
  415.         Allows the use of ALT-X (Exit to DOS after caller).
  416.         
  417.  
  418.  
  419.                                      Page  5
  420.         DoorPch - Version 3.3
  421.         User's Guide for DOOR Programmers
  422.         
  423.         
  424.         Features Of This Release (Continued)
  425.         ====================================
  426.         
  427.         Provides Alarm Toggle (F4).
  428.         
  429.         Provides Bell Toggle (F7).
  430.         
  431.         Provides memory and string space available (F6).
  432.         
  433.         Allows SysOp to force the caller to return to PCBoard (F8).
  434.         
  435.         Ability to turn display on and off (F9).
  436.         
  437.         Ability to temporarily increase or decrease a callers time in the 
  438.         DOOR (Up and Down KEYS).                            
  439.         
  440.         Supports  19,200  BPS  modems including  Hayes  V  Series.   Also 
  441.         support CTS checking (MNP flow control).
  442.         
  443.         Auto detection of network operation.
  444.         
  445.         Reduces callers time if an Event is scheduled.
  446.                                                                             
  447.         Monitoring  of soft errors and reporting to the SysOp of  errors.
  448.         Results  are  written to the local console and to  a  disk  file:
  449.         DOORPCH.ERR
  450.         
  451.         Error  free  ! Well, maybe not, but we strive  to  attain  "zero-
  452.         defects".
  453.         
  454.         Cost is small compared to the benefits.
  455.         
  456.         Last; but not least, Compatible with PCBoard Version 14.0 !
  457.         
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.                                      Page  6
  480.         DoorPch - Version 3.3
  481.         User's Guide for DOOR Programmers
  482.         
  483.         
  484.         DoorPch Version 3.2
  485.         ===================
  486.         
  487.         The  format  of lines 24 and 25 have been completely  changed  to
  488.         coincide  with those provided by PCBoard. All  the  functionality
  489.         you had in 3.1 is still available in 3.2.
  490.         
  491.         Removed  logic  that  checked  for a  scheduled  event  from  the
  492.         keyboard input loop. The CALLERS time remaining is now  shortened
  493.         if  an event would occur while in the DOOR. The code will  reduce
  494.         the  time  remaining to allow PCBoard to honor  the  buffer  time
  495.         specified in PCBOARD.DAT.
  496.         
  497.         A bug existed in DoorPch 3.1 which would allow a CALLER's time to
  498.         expire while in SysOp CHAT mode in the DOOR. This error has  been
  499.         corrected in version 3.2.
  500.         
  501.         This  version of DoorPch is NOT compatible with PCBOARD  12.1  or
  502.         below.  It has been specifically written to process PCBoard  14.0
  503.         system  files.   The Salt Air staff has stated that it  is  their
  504.         intention to "freeze" the record layouts of their files with  the
  505.         14.0  release  therefore it is assumed DoorPch 3.2 will  work  on
  506.         subsequent versions of PCBoard. Of course, should an  enhancement
  507.         to PCBoard require a recompilation of DoorPch, we will provide  a
  508.         subsequent release.
  509.         
  510.         
  511.         DoorPch Version 3.3
  512.         ===================
  513.         
  514.         A bug was fixed that inaccurately computed the time a caller  had 
  515.         left in door processing. The caller was receiving a message  that 
  516.         their time had expired.  This only effected callers that had been 
  517.         given  a  very  large amount of time  for  the  "time  remaining" 
  518.         calculation.
  519.         
  520.         An  additional variable has been added (LOCALUSR%)  which  allows 
  521.         the  Door program to determine if it is running in LOCAL mode.
  522.         
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.                                      Page  7
  540.         DoorPch - Version 3.3
  541.         User's Guide for DOOR Programmers
  542.         
  543.         
  544.         Operating Environment
  545.         =====================
  546.                                                                            
  547.         DoorPch supports COM1 and COM2 only !!
  548.         
  549.         The use of CTTY is NOT necessary when this code is used.
  550.                                                                            
  551.         The memory addresses used by this code are those used by the  IBM
  552.         PC and "true" compatibles such as AT&T.  This code was  developed
  553.         for  Microsoft  QuickBASIC 3.0.  It may NOT be  used  with  other
  554.         versions of QuickBASIC.  QuickBASIC 4.0 was NOT used to create  a
  555.         LIB  file  due  to problems detected in its use  on  80286  CPU's
  556.         running multi-tasking software (DoubleDOS & Taskview).
  557.                                                                            
  558.         Be  sure  to  either  include a  (patched  for  DTR)  version  of
  559.         BRUN30.EXE  in  your  DOOR ARC file or provide a  way  for  other
  560.         SysOps  to get a version from you.  We suggest including in  your
  561.         ARC file.
  562.                                                                            
  563.         This  program (and your system) should be protected  by  PCBTrap.
  564.         This program and examples of its use can be found in the  version
  565.         14 documentation. However, this DORPCH33.EXE logic will detect  a
  566.         NOCARRIER  condition and branch back to PCBoard  eliminating  the
  567.         need  for WATCHDOG. To run a DOOR in LOCAL mode, WATCHDOG  CANNOT
  568.         be running. This exact code is currently used in a number of DOOR
  569.         programs on our BBS's.
  570.                                                                            
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.                                      Page  8
  600.         DoorPch - Version 3.3
  601.         User's Guide for DOOR Programmers
  602.         
  603.         
  604.         Planned Future Enhancements
  605.         ===========================
  606.                                                                            
  607.         We  are  currently  planning to provide  support  for  other  BBS
  608.         systems. Some of these are: WildCat!, RBBS, Etc.
  609.         
  610.         Provide "full" support for both Quick Basic Version 3.0 & 4.0.
  611.         
  612.         We  continue  to use QuickBASIC 3.0 simply because we  had  found
  613.         many  problems using the QuickBASIC 4.x compilers.  The  problems
  614.         did  not  materialize until we operated TWO DOORS  compiled  with
  615.         DoorPch (using QuickBASIC 4.0) in both partitions under DoubleDOS
  616.         3.1V  and  4.0. A single DOOR would operate  fine.   However  TWO
  617.         doors  caused the system to "hang".
  618.         
  619.         We will look into all the ramifications of these compilers.  If a
  620.         solution can be found, we will provide a QuickBASIC 4.x LIB  file
  621.         which  will  allow you to static LINK with the  libraries  rather
  622.         than  the  current dynamic link provided by  the  QuickBASIC  3.0
  623.         environment.
  624.                                                                            
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.                                      Page  9
  660.         DoorPch - Version 3.3
  661.         User's Guide for DOOR Programmers
  662.         
  663.                                                                            
  664.         DoorPch Configuration File                                     
  665.         ==========================
  666.                                                                            
  667.         File Name:  DOORPCHn.CFG, where n is 1 or 2.
  668.                                                                            
  669.         The data in this file tells DoorPch where the PCBOARD.SYS file is
  670.         located.  The  location of the PCBOARD.DAT and  USERS  files  are
  671.         derived.  Place this file in the same sub-directory (default)  as
  672.         the  executable DOOR program. The data in each record MUST  begin
  673.         in column 1. This file is OPEN'ed as file #1. It is left OPEN for
  674.         your  convenience.
  675.         
  676.         You  may  add additional records beginning at record # 5  if  you
  677.         wish to pass additional information that your program may need to
  678.         run. If you do not need anything additional in this file, you may
  679.         CLOSE #1 following the initial $INCLUDE DOORPCH.BEG statement:
  680.         
  681.         Rec#1=>   C:\PCB\PCBOARD.SYS    (Your location for the .SYS file)
  682.         Rec#2=>   The Black Hole BBS    (Your BBS name)                  
  683.         Rec#3=>   Clint                 (The First name of the Sysop)    
  684.         Rec#4=>   Labarthe              (The Last name of the SysOp)     
  685.         
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.                                      Page  10
  720.         DoorPch - Version 3.3
  721.         User's Guide for DOOR Programmers
  722.         
  723.         
  724.         DoorPch Routines
  725.         ================
  726.                                                                            
  727.         The  following  list  outlines  the  various  routines  that  are
  728.         available in DoorPch Version 3.3 for your usage.
  729.                                                                            
  730.                                                                            
  731.         Subroutine Name               Subroutine Usage                               
  732.         ------------------------      -----------------------------------
  733.         
  734.         10000  (label)                The   Error  routine.  You   should
  735.         or                            insure  that if you change  the  ON
  736.         ERR.ROUTINE (label)           ERROR GOTO xxx statement that it is
  737.                                       restored to 10000.
  738.                                                                            
  739.                                                                            
  740.         CAPS                          A  CALL  to  this  subroutine  will
  741.                                       cause anything in ARG$ to be put in
  742.                                       first  letter  caps.  IE:   DOORPCH
  743.                                       would change to DoorPch.
  744.                                                                            
  745.         CENT(anystring$)              Leading  spaces  are  appended   to
  746.                                       anystring$  so  as  to  center  the
  747.                                       string for output.
  748.                                                                            
  749.         COLOR.CHK                     A  CALL to this routine will  cause
  750.                                       LN$  to  be outputted  in  a  color
  751.                                       format.  The  format  is   anything
  752.                                       contained    between   the    (,<,[
  753.                                       and>,],)  char will be a  different
  754.                                       foreground  color. Either  red  for
  755.                                       numbers, cyan for uppercase text or
  756.                                       green for lowercase text.
  757.         
  758.         CLR.SCRN                      Do NOT do a CLS or send CHR$(12) to
  759.                                       the  COM  port.  Rather do  a  CALL
  760.                                       CLR.SCRN.  The Lines 24 and 25 will
  761.                                       then be refreshed on the screen.
  762.                                                                            
  763.         CVTTIME                       This  routine will call  GETTIME  &
  764.                                       FORMATTIME    to    perform     the
  765.                                       conversion.
  766.         
  767.         DELAY.TIME (D.TIME%)          Call  this  routine  and  pass   an
  768.                                       integer  in  order  to  generate  a
  769.                                       delay  expressed  in  TENTHS  of  a
  770.                                       second.
  771.         
  772.         ENTER                         A   call  to  this   routine   will
  773.                                       generate   a  "Press   <ENTER>   to
  774.                                       continue.." and wait for a CR.
  775.         
  776.  
  777.  
  778.  
  779.                                      Page  11
  780.         DoorPch - Version 3.3
  781.         User's Guide for DOOR Programmers
  782.         
  783.         
  784.         DoorPch Routines (Continued)
  785.         ============================
  786.         
  787.         EXITG                         Call  this  routine  when  you  are
  788.                                       ready   to  terminate   your   DOOR
  789.                                       program.
  790.         
  791.         FORMATTIME                    Using HOURS% and MINUTES% this  SUB
  792.                                       will  format string DISPTIME$  with
  793.                                       the format HH:MM.
  794.         
  795.         GET.DAY (TDATE$,DAY%)         A  call here will convert any  date
  796.                                       put in TDATE$ to the day it is from
  797.                                       the  beginning  of  the  year   and
  798.                                       returned  in DAY%.  TDATE$  format:
  799.                                       DD/MM/YYYY.
  800.         
  801.         GET.INKEY                     This  SUB closely emulates  BASIC's
  802.                                       INKEY$ command.  It looks for a key
  803.                                       on the COM port or local  keyboard.
  804.                                       It  stores the last key entered  in
  805.                                       USR.KY$.  It does NOT print to  any
  806.                                       device nor does it update ARG$. The
  807.                                       door  author  must  keep  track  of
  808.                                       "keyboard  timeouts"  and  printing
  809.                                       the output, if necessary.
  810.         
  811.         GET.KEY                       CALL  to this subroutine  when  you
  812.                                       wish a character input WITHOUT  the
  813.                                       caller pressing RETURN !  Character
  814.                                       is NOT echoed.
  815.         
  816.         GET.KEYECHO                   Performs   the  same  function   as 
  817.                                       GET.KEY  but echoes  the  character 
  818.                                       tothe caller and the local screen.
  819.         
  820.         GET.KEYLOOP                   This  SUB "looks" for input.  If  a
  821.                                       key  was entered it will be  placed
  822.                                       in   USR.KY$  and  echoed  to   the
  823.                                       caller.  If NO key was entered then
  824.                                       USR.KY$  will  be empty.   The  key
  825.                                       entered will be concatenated to the
  826.                                       end   of  ARG$.   ARG$  should   be
  827.                                       cleared prior to CALLing this  SUB.
  828.                                       This  routine allows you  to  check
  829.                                       for input and continue  processing.
  830.                                       You must keep track of the  callers
  831.                                       "keyboard  time"  to be  sure  they
  832.                                       have not fallen asleep !
  833.         
  834.  
  835.  
  836.  
  837.  
  838.  
  839.                                      Page  12
  840.         DoorPch - Version 3.3
  841.         User's Guide for DOOR Programmers
  842.         
  843.         
  844.         DoorPch Routines (Continued)
  845.         ============================
  846.                                                                            
  847.         GETTIME                       Call  this  SUB to get  obtain  the
  848.                                       following variables:
  849.                                                                            
  850.                                       HOURS%   - The current hour
  851.                                       MINUTES% - The current minute
  852.                                       SECONDS% - The current second
  853.                                       SINCEMID# (Double) -
  854.                                                  Seconds since midnight
  855.         
  856.         HIGH.SCORE                    This  is a standardized HIGH  SCORE
  857.                                       routine.   The   variables   HSCR#,
  858.                                       FIRST$,   LAST$,  and  PROGB$   are
  859.                                       important in here.
  860.         
  861.         INITIALIZE                    The  DOORPCH.BEG  logic  will  CALL
  862.                                       this   subroutine   to   initialize
  863.                                       DORPCH33.EXE (and your DOOR).
  864.         
  865.         IN.PUT                        CALL  to this subroutine to  output
  866.                                       the contents of OT1$ and LN$.  This
  867.                                       routine  then waits for the  caller
  868.                                       to  respond  with  input  which  is
  869.                                       returned in ARG$.  This  subroutine
  870.                                       is  used  to  ask a  caller  for  a
  871.                                       response.
  872.         
  873.         LCONV(string)                 Will   convert  "string"   to   all
  874.                                       lowercase characters.
  875.         
  876.         LEFTTRUN(string)              Will  truncate all  leading  spaces
  877.                                       from "string".
  878.         
  879.         MORE                          A CALL to MORE will output a prompt
  880.                                       and  waits for a CR.  Check  for  a
  881.                                       "E"  in ARG$.  If found then  cause
  882.                                       your output to stop.
  883.         
  884.         MUSICG                        CALL  to this subroutine to  output
  885.                                       the contents of MUSIC$. MUSIC$ MUST
  886.                                       be filled with valid notes, pauses,
  887.                                       timing, and octave commands.
  888.         
  889.         NAMEG                         Any  true name put in ARG$ will  be
  890.                                       converted to proper case.
  891.         
  892.         OUT.NCR                       CALL  to this subroutine to  output
  893.                                       the  contents of LN$.   The  CURSOR
  894.                                       will remain at the end of the line.
  895.                                       A CR & LF will NOT be sent.
  896.         
  897.  
  898.  
  899.                                      Page  13
  900.         DoorPch - Version 3.3
  901.         User's Guide for DOOR Programmers
  902.         
  903.         
  904.         DoorPch Routines (Continued)
  905.         ============================
  906.         
  907.         OUT.PUT                       CALL  to this subroutine to  output
  908.                                       the contents of LN$.
  909.         
  910.         READ.TXT(filename$)           CALL  this SUB with the name  of  a
  911.                                       file to display to the caller.  The
  912.                                       SUB will look for files ending in a
  913.                                       "G" for graphics callers.  If a "G"
  914.                                       file  does not exist the  SUB  will
  915.                                       simply   OPEN   filename$.     This
  916.                                       feature is very nice for displaying
  917.                                       menus,  opening or closing  screens
  918.                                       to callers.
  919.         
  920.         RIGHTTRUN(string)             Will  truncate all trailing  spaces
  921.                                       from "string".
  922.         
  923.         TRUN(any string)              CALL   this  routine  to  cause   a
  924.                                       truncations  of ALL leading  spaces
  925.                                       as  well as all trailing spaces  in
  926.                                       the passed parameter string.
  927.         
  928.         UCONV(string)                 Will   convert  "string"   to   all
  929.                                       uppercase characters.
  930.         
  931.         All non documented calls are at your own risk, and may change at
  932.         anytime.
  933.         
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.                                      Page  14
  960.         DoorPch - Version 3.3
  961.         User's Guide for DOOR Programmers
  962.         
  963.         
  964.         DoorPch Variables
  965.         =================
  966.         
  967.         The following variables are used to pass information between your
  968.         DOOR program and DoorPch.
  969.         
  970.         Variable                      Definition                                     
  971.         -----------------------       ----------------------------------             
  972.         
  973.         ARG$                          This   string  contains  the   data
  974.                                       returned   by   a   CALL    IN.PUT,
  975.                                       CALL GET.KEY or CALL GET.KEYECHO.
  976.         
  977.         ALIAS.FIRST$                  If run by the DoorPch MONITOR  (not
  978.                                       yet avail), this will be the  call
  979.                                       ers FIRST name.
  980.         
  981.         ALIAS.LAST$                   Same as above except LAST name.
  982.         
  983.         BBSSYS$                       The name of the BBS Software.
  984.                                       Example:  PCBoard
  985.         
  986.         BELL%                         Notifies  DoorPch to output a  BELL
  987.                                       tone.  If BELL% = 1. A value  of  0
  988.                                       will NOT output a BELL (default).
  989.         
  990.         BGC%                          Background color
  991.         
  992.                                       O for BLACK   (Default)
  993.                                       1 for RED
  994.                                       2 for GREEN
  995.                                       3 for YELLOW
  996.                                       4 for BLUE
  997.                                       5 for MAGENTA
  998.                                       6 for CYAN
  999.                                       7 for WHITE
  1000.         
  1001.         BLINK%                        When  set to 1 all  text  displayed
  1002.                                       will BLINK. Default is 0.
  1003.         
  1004.         CALLALARM%                    A value of 1 indicates that F7  has
  1005.                                       been toggled.
  1006.         
  1007.         CENTER%                       Will center LN$ when it is OUT.PUT.
  1008.                                       CENTER%  = 1: LN$ =  "Howdy":  CALL
  1009.                                       OUT.PUT
  1010.         
  1011.         COMPRTOPN%                    This  variable is required  by  the
  1012.                                       Error Handling routine 10000.
  1013.         
  1014.         DAY%                          See below variable TDATE$
  1015.         
  1016.  
  1017.  
  1018.  
  1019.                                      Page  15
  1020.         DoorPch - Version 3.3
  1021.         User's Guide for DOOR Programmers
  1022.         
  1023.         
  1024.         DoorPch Variables (Continued)
  1025.         =============================
  1026.         
  1027.         
  1028.         Variable                      Definition                                     
  1029.         -----------------------       ----------------------------------             
  1030.         
  1031.         D.TIME%                       The number of TENTHS of seconds  to
  1032.                                       delay when CALLing DELAY.TIME
  1033.         
  1034.         DISPLAY%                      The LOCAL console display.  A value
  1035.                                       of  1 denotes "on".  Zero  (0)  de
  1036.                                       notes  "off".  READ-ONLY -  DO  NOT
  1037.                                       ALTER.
  1038.         
  1039.         DISPTIME$                     Returned by CVTTIME or  FORMATTIME.
  1040.                                       Returns  hours and minutes  in  the
  1041.                                       format HH:MM
  1042.         
  1043.         DMIN%                         The  number of MINUTES  the  caller
  1044.                                       has remaining in the DOOR.
  1045.         
  1046.         FGC%                          Foreground color.
  1047.         
  1048.                                       0 for BLACK (be careful)
  1049.                                       1 for RED
  1050.                                       2 for GREEN
  1051.                                       3 for YELLOW   (Default)
  1052.                                       4 for BLUE
  1053.                                       5 for MAGENTA
  1054.                                       6 for CYAN
  1055.                                       7 for WHITE
  1056.         
  1057.         FIRST$                        The first name of the caller.
  1058.         
  1059.         GRAPHICS%                     When equal 1 then the caller is  in
  1060.                                       GRAPHICS mode.  When 0 they are NOT
  1061.                                       in GRAPHICS mode.
  1062.         
  1063.         HIGH%                         Determines  if  text should  be  in
  1064.                                       HIGH INTENSITY. Default is 1.   For
  1065.                                       LOW intensity set this variable  to
  1066.                                       0 and set LOWER to 1.
  1067.         
  1068.         HOURS%                        Returned  by  CALL  GETTIME.    The
  1069.                                       current HOURS.
  1070.         
  1071.         HSCR#                         Keep  track of game high scores  in
  1072.                                       this  variable. It is used  by  the
  1073.                                       SUB  HIGH.SCORE which can  then  be
  1074.                                       called  just  before you  end  your
  1075.                                       DOOR game.
  1076.         
  1077.  
  1078.  
  1079.                                      Page  16
  1080.         DoorPch - Version 3.3
  1081.         User's Guide for DOOR Programmers
  1082.         
  1083.         
  1084.         DoorPch Variables (Continued)
  1085.         =============================
  1086.         
  1087.         
  1088.         Variable                      Definition                                     
  1089.         -----------------------       ----------------------------------             
  1090.         
  1091.         LAST$                         Last name of the caller, UPPER case
  1092.         
  1093.         LN$                           Populate  this  string  with   your
  1094.                                       output  line.   This data  will  be
  1095.                                       displayed  to the console and  sent
  1096.                                       to the COM port.
  1097.         
  1098.         LOCALUSR%                     If  set  to a 1, then the  Door  is  
  1099.                                       running in LOCAL mode.
  1100.         
  1101.         MINUTES%                      Returned  by CALL to GETTIME.   The
  1102.                                       current MINUTES
  1103.         
  1104.         NAME$                         Name of caller plus 2 spaces.
  1105.         
  1106.         NETWORK%                      If  found  set  to  a  1  then  the
  1107.                                       PCBOARD.DAT   indicates   you   are
  1108.                                       running  in  a network.   Use  this
  1109.                                       variable to determine when  Network
  1110.                                       logic  (i.e.  LOCK,  UNLOCK   etc.)
  1111.                                       should be used.  IMPORTANT!!
  1112.         
  1113.         NODE%                         Set  this  variable  to  1  if  you
  1114.                                       require  DoorPch  to  use  LOCKing.
  1115.                                       Default  is 0, and will cause  your
  1116.                                       program  to  run on one node  at  a
  1117.                                       time.
  1118.         
  1119.         OT1$                          String used by DoorPch as a  prefix
  1120.                                       when sending data to the COM port.
  1121.         
  1122.         PAGEBELL%                     A  value of 1 indicates F4 is  tog
  1123.                                       gled ON.
  1124.         
  1125.         PARAM$                        Any   parameters  passed  to   your
  1126.                                       program will be in this string. The
  1127.                                       parameters must start with a "/".
  1128.         
  1129.         PROGB$                        You  MUST  populate  this  variable
  1130.                                       with the name of your DOOR  program
  1131.                                       BEFORE the INCLUDE for  DOORPCH.BEG
  1132.                                       but    after   the   INCLUDE    for
  1133.                                       DOORPCH.USR.
  1134.         
  1135.                                       Example: PROGB$ =  "TGTRIVIA."
  1136.                                       Note the period(.)>>>>>>>>>>^
  1137.  
  1138.  
  1139.                                      Page  17
  1140.         DoorPch - Version 3.3
  1141.         User's Guide for DOOR Programmers
  1142.         
  1143.         
  1144.         DoorPch Variables (Continued)
  1145.         =============================
  1146.         
  1147.         
  1148.         Variable                      Definition                                     
  1149.         -----------------------       ----------------------------------             
  1150.         
  1151.         PROGNAME$                     You  populate this string with  the
  1152.                                       literal name of your DOOR  program.
  1153.                                       Example:
  1154.                                             PROGNAME$ = "Top Gun Trivia"
  1155.         
  1156.         R.ELEASE$                     Same  as above. The Release  number
  1157.                                       of your DOOR program.
  1158.         
  1159.                                       Example:  R.ELEASE$ = "1.0"
  1160.         
  1161.         RETURNCASE%                   If set to a 1 then ARG$ is returned
  1162.                                       in UPPER case.  If set to a -1 then
  1163.                                       ARG$ is returned in LOWER case.  If
  1164.                                       set  to a 0 then ARG$ is  returned,
  1165.                                       as keyed, unchanged.
  1166.         
  1167.         SECONDS%                      Returned  by CALL to GETTIME.   The
  1168.                                       current SECONDS.
  1169.         
  1170.         SINCEMID#                     Returned  by CALL to  GETTIME.  The
  1171.                                       number of SECONDS since midnight.
  1172.         
  1173.         SYSFIRST$                     The  FIRST name of the  SysOp  from
  1174.                                       the DOORPCHn.CFG file.  FIRST$ will
  1175.                                       be  populated with this  name  when
  1176.                                       the user record number is 1.
  1177.         
  1178.         SYSLAST$                      The LAST name of the SysOp from the
  1179.                                       DOORPCHn.CFG  file.  LAST$ will  be
  1180.                                       populated  with this name when  the
  1181.                                       user record number is 1.
  1182.         
  1183.         SYSNAME$                      Populated  with  the name  of  YOUR
  1184.                                       BBS.  Extracted from [DOORPCHn.CFG]
  1185.                                       record #2.
  1186.         
  1187.         SYSOP%                        If set to 1, indicates the SysOp is
  1188.                                       using the DOOR.
  1189.         
  1190.         TBSN%                         Set this variable to a value great
  1191.                                       er  than 1 and DoorPch will TAB  to
  1192.                                       the  specified TAB position.  Reset
  1193.                                       to 1 after CALL.
  1194.         
  1195.  
  1196.  
  1197.  
  1198.  
  1199.                                      Page  18
  1200.         DoorPch - Version 3.3
  1201.         User's Guide for DOOR Programmers
  1202.         
  1203.         
  1204.         DoorPch Variables (Continued)
  1205.         =============================
  1206.         
  1207.         
  1208.         Variable                      Definition                                     
  1209.         -----------------------       ----------------------------------             
  1210.                                                                            
  1211.         TDATE$                        Populate  this string with a  valid
  1212.                                       date (in this century).  The day of
  1213.                                       the year is returned in DAY%.   See
  1214.                                       GET.DAY SUB.
  1215.         
  1216.         TIME.ON#                      The  elapsed time this call in  the
  1217.                                       DOOR (Double precision) - seconds
  1218.         
  1219.         TIMESTART#                    The  time  the caller  entered  the
  1220.                                       DOOR (Double precision) - seconds
  1221.         
  1222.         XPOS%                         Used  to position the cursor.   Use
  1223.                                       only   when  doing  LOCATE   "type"
  1224.                                       logic.  XPOS% is the ROW number  (1
  1225.                                       to  23).   Your value is set  to  a
  1226.                                       NEGATIVE value once used.  You  may
  1227.                                       use it to determine the last  value
  1228.                                       you had set.
  1229.         
  1230.         YPOS%                         Same  as  XPOS% only for the COLUMN
  1231.                                       position (1 to 79).  Your value  is
  1232.                                       set to a NEGATIVE value once  used.
  1233.                                       You  may  use it to  determine  the
  1234.                                       last value you had set.
  1235.         
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.                                      Page  19
  1260.         DoorPch - Version 3.3
  1261.         User's Guide for DOOR Programmers
  1262.         
  1263.         
  1264.         Structure Of A DOOR Program
  1265.         ===========================
  1266.         
  1267.         The following information provides a general overview of how  you 
  1268.         construct  a DOOR program.  The process is very easy and you  can 
  1269.         gain  a  lot  of insight by reviewing the example  DOOR  that  is 
  1270.         provided in the "ARC" file. The basic format of a DOOR program is 
  1271.         as follows:
  1272.         
  1273.         Start of Program -----------------------------
  1274.         
  1275.         ' $INCLUDE: 'DOORPCH.USR'
  1276.           PROGNAME$ = "Example"    ' These
  1277.           PROGB$ = "EXAMPLE"       '       four
  1278.           R.ELEASE$ = "1.0"        '             MUST
  1279.           NODE% = 1                '                  be populated
  1280.         ' $INCLUDE: 'DOORPCH.BEG'    ' CALLs  INITIALIZATION  code   in 
  1281.                                      ' DORPCH33.EXE. If  you  had  other 
  1282.                                      ' information within.  DOORPCHn.CFG, 
  1283.                                      ' you  would continue  reading  the 
  1284.                                      ' file here then CLOSE #1.
  1285.             .
  1286.             .   Your programs logic
  1287.             .
  1288.         ' $INCLUDE: 'DOORPCH.END'
  1289.         
  1290.         End of Program -------------------------------
  1291.         
  1292.         
  1293.         Include File Usage
  1294.         ==================
  1295.         
  1296.         The  "DOORPCH.USR" include file establishes the required  linkage 
  1297.         for  all  variables  used  in  the  DoorPch  environment.   These 
  1298.         variables  are used by you (the DOOR programmer)  to  communicate 
  1299.         your needs to DoorPch.
  1300.         
  1301.         The "DOORPCH.BEG" include file calls the initialization  routines
  1302.         used  in  DoorPch  in  order  to  read  the  configuration  file,
  1303.         initialize variables, ready the COM port, Etc.
  1304.         
  1305.         The  "DOORPCH.END"  include file provides a common set  of  error
  1306.         routines  and  a  set of conversion routines  for  accessing  the
  1307.         facilities  of DoorPch by Basic line numbers. Note:  Two  choices
  1308.         are available to you if you are upgrading from an earlier version
  1309.         of  DoorPch:  A) Leave your existing DOOR program coded  the  way 
  1310.         you  originally coded it (IE: GOSUB 10170, GOSUB 10200  etc),  or  
  1311.         B) Convert your existing DOOR program to use CALL statements thus 
  1312.         eliminating the use of code in DOORPCH.END.
  1313.         
  1314.         New doors should utilize CALLs to perform DoorPch functions.
  1315.         
  1316.  
  1317.  
  1318.  
  1319.                                      Page  20
  1320.         DoorPch - Version 3.3
  1321.         User's Guide for DOOR Programmers
  1322.         
  1323.         
  1324.         Opening and Closing of Files
  1325.         ============================
  1326.         
  1327.         File  #  1  is  left  OPEN for  you.   You  may  add  records  to
  1328.         DOORPCHn.CFG  if you wish after the mandatory four records.  Once
  1329.         returned  from the Initialization code (DOORPCH.BEG),   you  must
  1330.         read  YOUR  records  from File # 1.  Then be sure  to  CLOSE  #1.
  1331.         Whether you read data from the (.CFG) file or not you MUST  CLOSE
  1332.         #  1.
  1333.         
  1334.         File  #  2, # 3 and # 4 are reserved for use  by  DoorPch.  These
  1335.         files MUST NOT be used or a Doorpch fatal error most likely  will
  1336.         occur at some point in your programs execution.  You may start at
  1337.         File # 5.
  1338.         
  1339.         
  1340.         Starting A DOOR
  1341.         ===============
  1342.                                                                            
  1343.         A  run-time  parameter is required to invoke your  DOOR  program.
  1344.         Other  parameters  may  also  be passed  so  long  as  the  first
  1345.         parameter after the .CFG file name begins with a slash "/". If  a
  1346.         slash  is  found  by DoorPch, the slash and all  the  data  which
  1347.         follows it are available in the variable: PARAM$ (see below under
  1348.         VARIABLES).
  1349.         
  1350.            Example:
  1351.         
  1352.            TGTRIVIA TRIVIA1.CFG would invoke the program TGTRIVIA.EXE
  1353.            passing parameter TRIVIA1.CFG to the program. The contents of
  1354.            the .CFG are:
  1355.         
  1356.            C:\PCB\PCBOARD.SYS   <=== The location of PCBOARD.SYS
  1357.            The Black Hole BBS   <=== Your BBS name goes here
  1358.            Clint                <=== SysOps FIRST name
  1359.            Labarthe             <=== SysOps LAST name.
  1360.         
  1361.            Note: File # 1 is left OPEN. You may add records to this file
  1362.            if you need to pass additional information to your DOOR
  1363.            program.  Remember to CLOSE # 1.
  1364.         
  1365.         
  1366.         Terminating A DOOR
  1367.         ==================
  1368.         
  1369.         How to terminate the DOOR.  Be certain all YOUR files (not  those 
  1370.         used by Doorpch) are CLOSEed.  Then simply do the following:
  1371.         
  1372.             CALL EXITG
  1373.         
  1374.         You  will  not be returned from this SUB routine. The  DOOR  will
  1375.         terminate within DoorPch code.
  1376.         
  1377.  
  1378.  
  1379.                                      Page  21
  1380.         DoorPch - Version 3.3
  1381.         User's Guide for DOOR Programmers
  1382.         
  1383.                                                                            
  1384.         Compiling Your DOOR Program                                  
  1385.         ===========================
  1386.                                                                            
  1387.         A BATch file is included (COMPILE.BAT).  Execute this batch  file
  1388.         with your source module as a parameter.
  1389.         
  1390.                Example:  COMPILE TGTRIVIA.BAS
  1391.         
  1392.         When  the batch file ends you will have an OBJect module  present
  1393.         in your current directory.
  1394.         
  1395.         
  1396.         Linking Your DOOR Program
  1397.         =========================
  1398.         
  1399.         A  BATch file is included (LINKER.BAT).  Execute  this  batch file
  1400.         with your OBJect module as a parameter.
  1401.         
  1402.                  Example:  LINKER TGTRIVIA.OBJ
  1403.         
  1404.         When  the  batch  file ends you will have  an  EXEcutable  module
  1405.         present in your current directory.
  1406.         
  1407.         >>  Be careful here: Giving the linker the name of
  1408.             your  SOURCE module will cause a LINK  failure
  1409.             and the SOURCE module will be DESTROYED.   You
  1410.             may   wish  to  save  your  source  prior   to
  1411.             executing this BATch file.
  1412.         
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.                                      Page  22
  1440.         DoorPch - Version 3.3
  1441.         User's Guide for DOOR Programmers
  1442.         
  1443.         
  1444.         Executing Your DOOR Program                                        
  1445.         ===========================
  1446.         
  1447.         Your  new  .EXE  module now contains all the  necessary  code  to 
  1448.         function  as  a DOOR.  The .EXE module  requires  the  QuickBASIC 
  1449.         run-time   routines  from  Microsoft  (BRUN30.EXE)   be   present 
  1450.         somewhere  in the PATH when you execute your DOOR program.    You 
  1451.         must also have a DOS Environment variable set for       Doorpch's 
  1452.         use.  Place this statement in your AUTOEXEC.BAT   file:
  1453.         
  1454.                  Example: SET DOORPCH=PCB
  1455.         
  1456.         Finally,  since  DORPCH33.EXE is a QuickBASIC  3.0  LIBRARY,  you
  1457.         have two choices where you may place this file:
  1458.         
  1459.            1) In the current directory, OR
  1460.            2) Set an environment variable
  1461.         
  1462.         Example:  SET LIB=<path to DORPCH33.EXE>
  1463.         
  1464.         Option  2  is  probably your best choice. Just  place  the  "SET"
  1465.         statement in your AUTOEXEC.BAT file.
  1466.         
  1467.         A small example of a DOOR program is included in the DORPCH33.ARC 
  1468.         file:  EXAMPLE.BAS.  You can look this program over for  examples 
  1469.         of many of the Doorpch functions.
  1470.         
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.                                      Page  23
  1500.         DoorPch - Version 3.3
  1501.         User's Guide for DOOR Programmers
  1502.         
  1503.         ANSI Colors Graphics
  1504.         ====================
  1505.         
  1506.         The  following  information outlines the use of  various  Doorpch 
  1507.         variables    to   control   the   foreground/background    color, 
  1508.         highlighting, and blinking capabilities.
  1509.         
  1510.         
  1511.         Intensity Of Text
  1512.         -----------------
  1513.         
  1514.         In  order  to  for any text you wish to display  to  be  in  high 
  1515.         intensity,  simply set the variable HIGH% = 1.  Setting the  same 
  1516.         variable to 0(zero) will display in low intensity.
  1517.         
  1518.         
  1519.         Blinking Text
  1520.         -------------
  1521.         
  1522.         In  order  to for any text you wish to display  to  be  blinking, 
  1523.         simply set the variable BLINK% = 1.  Setting the same variable to 
  1524.         0(zero) will turn off the blinking attribute.
  1525.         
  1526.         
  1527.         Foreground/Background Colors
  1528.         ----------------------------
  1529.         
  1530.         To  modify the colors that your text displays in, simply set  the 
  1531.         two variables FGC% or BGC% to one of the values in the  following 
  1532.         table for the desired effect:
  1533.         
  1534.                1 for RED             /
  1535.                2 for GREEN         /
  1536.           *    3 for YELLOW      /
  1537.                4 for BLUE       <== Correspond to ANSI codes
  1538.                5 for MAGENTA     \
  1539.                6 for CYAN          \
  1540.                7 for WHITE           \
  1541.         (*) - defaults
  1542.         
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.                                      Page  24
  1560.         DoorPch - Version 3.3
  1561.         User's Guide for DOOR Programmers
  1562.         
  1563.         
  1564.         Printing Output
  1565.         ===============
  1566.         
  1567.         Printing Complete Line
  1568.         ----------------------
  1569.         
  1570.           To write to the COM port a complete line of text:
  1571.         
  1572.           Place your text in LN$ and CALL OUT.PUT
  1573.         
  1574.           To center the text all you need to do is make
  1575.           CENTER% = 1 then CALL OUT.PUT.  The required spaces will
  1576.           be added to center your text.
  1577.         
  1578.         
  1579.         Printing A Partial Line
  1580.         -----------------------
  1581.         
  1582.         To write to the COM port a partial line of text holding
  1583.         the cursor at the end of the printed text:
  1584.         
  1585.         Place your text in LN$ and CALL OUT.NCR.
  1586.         
  1587.         Example: To print a red "Hi" and a yellow " There"
  1588.         
  1589.            FGC% = 1
  1590.            LN$="Hi":CALL OUT.NCR
  1591.            FGC% = 3
  1592.            LN$=" There":CALL OUT.PUT
  1593.         
  1594.         
  1595.         Printing A Line & Get A Response
  1596.         --------------------------------
  1597.         
  1598.         Place your text in LN$ and CALL IN.PUT. Your response will be  in
  1599.         ARG$. Setting RETURNCASE% to 1 will result in the response  being
  1600.         returned in UPPER case.  Setting this value to -1 (minus 1)  will
  1601.         return  a response in LOWER case. Setting the value to  0  (zero)
  1602.         will  return the response as keyed without conversion.   The  DE
  1603.         FAULT is RETURNCASE% = 1. If you set it to zero or minus one (-1)
  1604.         it will be reset to 1 on the next CALL to IN.PUT.
  1605.         
  1606.            Example:
  1607.         
  1608.            RETURNCASE% = -1
  1609.         
  1610.            LN$="Are you finished ? ":CALL IN.PUT
  1611.            IF ARG$="y" then do something...
  1612.         
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.                                      Page  25
  1620.         DoorPch - Version 3.3
  1621.         User's Guide for DOOR Programmers
  1622.         
  1623.         
  1624.         Printing Output (Continued)
  1625.         ===========================
  1626.         
  1627.         Printing with TAB's
  1628.         -------------------
  1629.         
  1630.            To print at a TAB position: Set TBSN% to your TAB value.
  1631.         
  1632.            Example:
  1633.         
  1634.            TBSN%=50:LN$="Howdy":CALL OUT.PUT
  1635.            The above would print beginning in column 50.
  1636.         
  1637.         
  1638.         Ringing the BELL
  1639.         ================
  1640.         
  1641.         Please  do not WAKE UP the SYSOP! If your DOOR program  needs  to 
  1642.         ring  the bell, please do it this way ! Set BELL% = 1.  The  bell 
  1643.         will  not  be sent to the console unless the door is  running  in 
  1644.         LOCAL mode.
  1645.         
  1646.         Example: LN$ = "Ooops !": BELL% = 1: CALL OUT.PUT
  1647.         
  1648.         
  1649.         Adding Color The Easy Way
  1650.         =========================
  1651.         
  1652.         With DoorPch Version 3.3 comes a new way to generate those  fancy 
  1653.         color  displays.  A CALL to COLOR.CHK will colorize  anything  in 
  1654.         LN$. You must first set the foreground (FGC%) and the  background 
  1655.         (BGC%).  Then  load LN$ with data, and make the  CALL.   Anything 
  1656.         contained  between [,(,< and >,),] will be  colorized.   Anything 
  1657.         before a "-" will be colorized.
  1658.         
  1659.            The following rules apply for colorizing:
  1660.         
  1661.            A.   If CENTER% = 1 the text will be centered.
  1662.            B.   If BLINK% = 1 then all text inside of the delimiters
  1663.                 <>, [], or  () will be blinking.
  1664.            C.   Numbers will be RED unless FGC% = 1 (red) then
  1665.                 numbers will be BLUE.
  1666.            D.   Uppercase characters will be CYAN unless FGC% = 6
  1667.                 (cyan) then they will be YELLOW.
  1668.            E.   Lowercase will be GREEN unless FGC% = 2 (green)
  1669.                 then lowercase will be MAGENTA.
  1670.         
  1671.         The  COLOR.CHK SUB will output characters but will NOT  line feed.
  1672.         You must CALL OUT.PUT to get a line feed.
  1673.         
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.                                      Page  26
  1680.         DoorPch - Version 3.3
  1681.         User's Guide for DOOR Programmers
  1682.         
  1683.         
  1684.         Sending ANSI Music
  1685.         ==================
  1686.         
  1687.         Place  your ANSI music characters in MUSIC$ and CALL  MUSICG.  No
  1688.         control  codes or escapes sequences are put in MUSIC$,  just  raw
  1689.         notes  and QuickBASIC music codes.  DoorPch will handle and  load
  1690.         the  ANSI  sequences needed to make your music  work  locally  or
  1691.         remotely.  All  notes will be converted to uppercase.   Refer  to
  1692.         your  QuickBASIC manual and use only the data that  is  contained
  1693.         between  the  quotes. Doorpch will handle the  PLAY  and  VARPTR$
  1694.         commands.
  1695.         
  1696.            Ask your users:
  1697.         
  1698.            Can you handle music [Y/n]?
  1699.         
  1700.            If yes, then populate MUSIC$ with your music and CALL
  1701.            MUSICG.
  1702.         
  1703.            Note: Music will NOT be played to the local console if the
  1704.            system is in a NETWORK and the DOOR is in LOCAL mode.  Some
  1705.            network servers cannot handle background music being played.
  1706.         
  1707.            Example:
  1708.         
  1709.            FGC% = 2: LN$ = "Can your system handle music [Y/n] ? "
  1710.            CALL COLOR.CHK: CALL GET.KEYECHO
  1711.            IF ARG$ = "Y" THEN
  1712.               .
  1713.               .your music logic
  1714.               .
  1715.            ELSE
  1716.               .
  1717.               .No music logic
  1718.               .
  1719.            END IF
  1720.         
  1721.         
  1722.         Bell or Alarm Toggles
  1723.         =====================
  1724.         
  1725.            If PAGEBELL% = 1 then F4 has been togged ON.
  1726.            If CALLALARM% = 1 then F7 has been toggled ON.
  1727.         
  1728.         
  1729.         Clearing The Screen
  1730.         ===================
  1731.         
  1732.            Clear the local and callers screen and refresh LINES 24/25 of
  1733.            the local console:
  1734.         
  1735.            CALL CLR.SCRN
  1736.         
  1737.  
  1738.  
  1739.                                      Page  27
  1740.         DoorPch - Version 3.3
  1741.         User's Guide for DOOR Programmers
  1742.         
  1743.         
  1744.         BASIC Keywords
  1745.         ==============
  1746.         
  1747.         The following BASIC keywords should NEVER be used in a DOOR  that
  1748.         you  write.   Unpredictable  results are certain if  you  do  NOT
  1749.         follow the rules outlined in this document.
  1750.         
  1751.         Never use any of the following BASIC verbs:
  1752.         
  1753.             LOCATE,  PRINT,  VIEW PRINT,  PRINT USING, CLS,  COLOR,
  1754.             DRAW,  END,  INKEY$,  KEY,  ON COM,OPTION BASE,  PAINT,  PEN,
  1755.             PLAY,  POS(0),  CSRLIN,  RESUME,  RUN,  SCREEN,  SHELL,
  1756.             SOUND,  STICK,  STRIG,  SYSTEM,  WIDTH,  WINDOW
  1757.         
  1758.             There may be others . . .
  1759.         
  1760.         
  1761.         Tracking High Scores & Producing A Bulletin
  1762.         ===========================================
  1763.         
  1764.         Load  PROGB$  with your Door program's name  excluding  the(exe).  
  1765.         Put this before the INCLUDE of DOORPCH.BEG.
  1766.         
  1767.         Example:  PROGB$ = "TGTRIVIA."
  1768.         
  1769.         Keep  track of your high score in a variable:  HSCR#.   If HSCR#=0
  1770.         then  NO  storage of a user score is done,  rather the  caller  is
  1771.         asked if they would like to view the high scores.
  1772.         
  1773.         Prior  to  doing  the  CALL  EXITG  or  doing  GOSUB   10410,CALL
  1774.         HIGH.SCORE.  A  file  will be  created:  <doorname.BUL>.All  game
  1775.         information  will  be included in this file.  The location  of  an
  1776.         optional bulletin is also contained therein.
  1777.         
  1778.         The sysop should be the first to run any game  calling HIGH.SCORE.
  1779.         He    will   be   asked   various   questions    to    install the
  1780.         high.score/bulletin generator.  Thereafter the sysop(only rec  #1
  1781.         sysop)  can reset the bulletins by entering a"R" at the  "Do  you
  1782.         want  to  see the high scores ?" prompt.If the SysOp is  NOT  the
  1783.         first player to use the DOOR then a default .BUL file is  created.
  1784.         You can use a text editor to add a Bulletin name at a later  time.
  1785.         The former is the preferred method.
  1786.         
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.                                      Page  28
  1800.         DoorPch - Version 3.3
  1801.         User's Guide for DOOR Programmers
  1802.         
  1803.         
  1804.         Sysop Information
  1805.         =================
  1806.         
  1807.         Line 24 Of The Display
  1808.         ----------------------
  1809.         
  1810.             The information on this line is obtained from PCBoard system
  1811.             files.  Listed below is the information provided.
  1812.         
  1813.             A. Node number (if in a network).
  1814.             B. The baud rate of the caller.
  1815.             C. Callers name.
  1816.             D. The name of your DOOR program and its release number
  1817.                Example: Top Gun Trivia version 3.1
  1818.             E. The time the caller entered the DOOR.
  1819.             F. If the ALT-N or ALT-X keys have been toggled, then the
  1820.                indicator will be displayed similarly to PCBoard.
  1821.             G. The current time.
  1822.             H. How many hours and minutes the caller has left in this
  1823.                DOOR. You may temporarily add or subtract from the
  1824.                caller's time remaining, use the UP or DOWN keys.
  1825.         
  1826.         
  1827.         Line 24/25 Of The Display
  1828.         -------------------------
  1829.         
  1830.             The keys listed below will cause various values to be
  1831.             displayed on line 25 of the console:
  1832.         
  1833.             A. F1 key: The current release of Doorpch QuickBASIC version
  1834.                        used to compile your DOOR.
  1835.             B. F2 key: Displays the callers ALIAS name if it is used and
  1836.                        the variables ALIAS.FIRST$ and ALIAS.LAST$ are
  1837.                        populated.
  1838.             C. F3 key: Not used in Doorpch Version 3.3.
  1839.             D. F4 key: If toggled on will display a (B)ell on the screen.
  1840.                        This key value will be returned to PCBoard when
  1841.                        the door terminates.
  1842.             E. F5 key: Nothing displayed.  Activates the DOS SHELL
  1843.             F. F6 key: Displays memory and string space available to the
  1844.                        DOOR.
  1845.             G. F7 key: If toggled on will display a (A)larm on the
  1846.                        screen.
  1847.             H. HOME:   Will display a HELP menu on line 25.
  1848.             I. END:    Will resume to "normal" line 24/25 display.
  1849.             J. PG-UP:  Will display the Message Base Areas the user is
  1850.                        authorized to access.
  1851.             K. PG-DN:  Will display Data and Voice Phone Numbers
  1852.                                     Expiration Date
  1853.                                     Password
  1854.                                     User & Sysop Comments
  1855.         
  1856.  
  1857.  
  1858.  
  1859.                                      Page  29
  1860.         DoorPch - Version 3.3
  1861.         User's Guide for DOOR Programmers
  1862.         
  1863.         
  1864.         DoorPch History
  1865.         ===============
  1866.         
  1867.         Well,  originally  I wrote the first version of  Doorpch.  I  saw 
  1868.         apiece  of  code  for RBBS Doors.  I felt I could  use  it  as  a 
  1869.         foundation for a PCBoard environment.  The beginnings of Top  Gun 
  1870.         Trivia were born - so was Doorpch Version 1.0.
  1871.         
  1872.         I quickly saw missing features and bugs and on to release 1.1 and 
  1873.         so on until 2.6.  Actually along the way I had a lot of help from 
  1874.         a lot of SysOps.  Some were Beta Testers.  Others gave me  inspi
  1875.         ration  while others actually provided code.  At the moment,  two 
  1876.         SysOps participated in the coding of Doorpch 3.3: Clint  Labarthe 
  1877.         and Terry Shockley.  Raymond Clements was very helpful while  the 
  1878.         code was still in a QuickBASIC 3.0 format.
  1879.         
  1880.         Then,  Ben  Perron restructured the code  for  QuickBASIC3.0  li
  1881.         braries.  Pat Carone was an early beta-tester.Who knows how  much 
  1882.         these fine SysOps spent on long distance charges.  You can bet is 
  1883.         was a bundle. Many thanks to them !!
  1884.         
  1885.         Why a LIBRARY and NOT source code as in 2.6?  That's a very  good 
  1886.         question.   SysOps simply made too many modifications. Some  were 
  1887.         given to friends.  An so it went. This code is not an attempt  to 
  1888.         halt  that  type  of creativity. Rather, it is to  set  the  DOOR 
  1889.         standard. If you wish specific logic added that is not  currently 
  1890.         in  version 3.3, please let us know. Incorporated in version  3.3 
  1891.         is  many,  many hours of work and the ideas of  countless  SysOps 
  1892.         from around the world. Its the best we could do at this point.
  1893.         
  1894.         That is where we are today. It is a full functional, full feature 
  1895.         LIBRARY for you to LINK your DOOR program too.  We don't ask much 
  1896.         in return.  A form is provided for you to at least tell us who is 
  1897.         using  it  and provide a contribution of sorts.  I can  tell  you 
  1898.         this:  You won't get rich on DOORs. We won't get rich on you.  We 
  1899.         all benefit from each other.
  1900.         
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.                                      Page  30
  1920.         DoorPch - Version 3.3
  1921.         User's Guide for DOOR Programmers
  1922.         
  1923.         
  1924.         DoorPch Credits
  1925.         ===============
  1926.         
  1927.         I'd  like to thank an old friend - Andy McPhee - at Pacific  Bell 
  1928.         in  California.   He  was my supervisor during  my  first  coding 
  1929.         assignments.   He once told me: "If you can think if it, you  can 
  1930.         code it !".  Well, to all of you SysOps and to you Andy, here  it 
  1931.         is !  We did just that !
  1932.         
  1933.         Thanks  to  Dick  Stout  of  Computer  Technology  who  did  much 
  1934.         alpha/beta testing. His system crashed so yours wouldn't. All  of 
  1935.         his  reported errors were corrected.  This lead to a almost  bug-
  1936.         free crash proof environment.
  1937.         
  1938.         Thanks  to Mark Fletcher who was inspirational in  the  beginning 
  1939.         and  there after provided code during the early going.   He  kept 
  1940.         the faith and used Doorpch from the beginning.
  1941.         
  1942.         Thanks  to  Jerry Fields in Georgia for  sacrificing  his  system 
  1943.         also.  Many of the SysOPs simply could not wait for the  finished 
  1944.         product.  Jerry was one of them.  We sure appreciate his enthusi
  1945.         asm.
  1946.         
  1947.         Thanks also to Bud Napier in Massachusetts who kept the  pressure 
  1948.         on  and was willing to provide a beta site even with bugs in  our 
  1949.         code.
  1950.         
  1951.         A  special  thanks to Harold Thomson, a colleague  at  AT&T,  who 
  1952.         wrote a myriad of assembler routines to assist us.
  1953.         
  1954.         Thanks  also to  Terry Shockley and Charlie Wooster, AT&T  SysOps 
  1955.         of  the  Deathstar  BBS, for their  assistance  and  constructive 
  1956.         reasoning during 3.3 development.
  1957.         
  1958.         Finally,  thanks to Richard Driggers, SysOp of Sparta BBS in  New 
  1959.         Jersey for his belief in us.  His dedication to the betterment of 
  1960.         BBS'ing  gave us cause to continue our work.  He provided a  rich 
  1961.         test bed also.  Our hats goes off to him.
  1962.         
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.                                      Page  31
  1980.         DoorPch - Version 3.3
  1981.         User's Guide for DOOR Programmers
  1982.         
  1983.         
  1984.         Reporting Problems
  1985.         ==================
  1986.         
  1987.         If you require assistance beyond the instructions contained
  1988.         herein, please call one of our BBS's:
  1989.         
  1990.         BBS                         Phone             SysOp
  1991.         --------------------------------------------------------------
  1992.         The Black Hole BBS          (407) 260-6397    Clint Labarthe
  1993.         The Death Star BBS          (407) 660-6300    Terry Shockley
  1994.         The Computer Playroom BBS   (203) 584-1798    Ben Perron
  1995.         
  1996.                     Prime Beta Tester and DoorPch Contributor
  1997.         
  1998.         The Pegasus BBS             (502) 684-9855    Raymond Clements
  1999.         
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.                                      Page  32
  2040.         DoorPch - Version 3.3
  2041.         User's Guide for DOOR Programmers
  2042.         
  2043.         
  2044.         User Enhancement Requests 
  2045.         =========================
  2046.         
  2047.         If  you  find that a function is not present in Doorpch  and  you 
  2048.         feel this enhancement would benefit others, then please provide a 
  2049.         Change  Request  (CR)  to us in the following  format.   We  will 
  2050.         attempt to incorporate your request a subsequent release.
  2051.         
  2052.         Change Request (CR):
  2053.         
  2054.         Date:
  2055.         Author:
  2056.         Description of enhancement: <Pseudo code, structured English
  2057.                                      narrative or actual BASIC code>
  2058.         
  2059.         If you have a working model of the code and wish to share it with 
  2060.         us, then by all means provide it.  You may submit your request in 
  2061.         two  ways: 1) uploading to one of our BBS's as a  PRIVATE  upload 
  2062.         and leaving a [C]omment identifying the upload to the SysOp or 2) 
  2063.         mailing your request to our address:
  2064.         
  2065.                                 The Black Hole BBS
  2066.                                 P.O. Box 151445
  2067.                                 Altamonte Springs, Florida, 32701-1445
  2068.         
  2069.         Enjoy Doorpch 3.3 !!
  2070.         
  2071.         Clint Labarthe, SysOp, The Black Hole BBS, (407) 260-6397
  2072.         Terry Shockley, SysOp, The Deathstar BBS,  (407) 660-6300
  2073.         
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.                                      Page  33
  2100.         DoorPch - Version 3.3
  2101.         User's Guide for DOOR Programmers
  2102.         
  2103.         
  2104.         Registration                                 
  2105.         ============
  2106.                                                                            
  2107.         The DoorPch source/library code is distributed for your use on  a 
  2108.         trial  basis.  If  you decide to utilize it in  a  DOOR  program, 
  2109.         whether  written  for PCBoard (tm) or any  other  Bulletin  Board 
  2110.         System,  you  are  required to register your  copy.   We  feel  a 
  2111.         registration  fee  of $20.00 is reasonable. However,  any  amount 
  2112.         from $5 to $5,000,000 will be accepted.
  2113.         
  2114.         If  you are upgrading, a one time upgrade donation of  $15.00  is 
  2115.         suggested.   $ 5.00 is suggested upgrading from version over  3.1 
  2116.         there  is simply so much more in this version over 2.6 that  this 
  2117.         amount is more than worth it.  If you include this logic in  more 
  2118.         than  one  DOOR  program,  then  please  remit  $5.00  for   each 
  2119.         additional  DOOR program you release in addition to the  original 
  2120.         registration  fee. We'd like to thank you for using DoorPch.   We 
  2121.         hope  it is as useful to you as it has been for us. Any  and  all 
  2122.         suggestions  can  be  mailed to the  address  below  or  directly 
  2123.         conveyed to us on the Black Hole BBS (407) 260-6397.
  2124.         
  2125.         This  code will work without alteration with QuickBASIC 3.0  com
  2126.         piled programs.  If you have a request for  improvements/enhance
  2127.         ments or detect a bug, please let us know. We'll make everyeffort 
  2128.         to get the code changed thus helping all of us make betterDOORs.
  2129.         
  2130.         The following registration is required of all doors released with 
  2131.         DoorPch 3.3 supporting PCBoard 14.0 ONLY.  Version 3.1 should  be 
  2132.         used for DOORS running under PCBoard 12.x.
  2133.         
  2134.              To: Clint Labarthe
  2135.                  Black Hole Bulletin Board System
  2136.                  P.O. Box 151445
  2137.                  Altamonte Springs, Florida, 32701-1445
  2138.         
  2139.         
  2140.              Version: _________________
  2141.         
  2142.         I have incorporated DoorPch in the following DOOR programs. I am
  2143.         remitting $5.00 for each of them.
  2144.         
  2145.         ____________________  ____________________   ____________________
  2146.         ____________________  ____________________   ____________________
  2147.         ____________________  ____________________   ____________________
  2148.         
  2149.         Total DOOR's containing DoorPch: ______  @ $5.00 =    $__________
  2150.         Plus $20.00 Registration (unless already submitted) = $__________
  2151.                                  or
  2152.         Upgrade from version 2.x                  @ $15.00  = $__________
  2153.         Upgrade from version 3.1                  @ $ 5.00  = $__________
  2154.                                                Total remitted $__________
  2155.         
  2156.         
  2157.  
  2158.  
  2159.                                      Page  34
  2160.         DoorPch - Version 3.3
  2161.         User's Guide for DOOR Programmers
  2162.         
  2163.         
  2164.         
  2165.         
  2166.         
  2167.         Signed: ______________________________     Date:____________
  2168.         
  2169.         Thanks for your support !!
  2170.         Clint Labarthe
  2171.         
  2172.         Note:
  2173.         
  2174.         Many  of you have, at some time in the past, sent us a  contribu
  2175.         tion  for DoorPch. Those of you that have are excluded  from  the 
  2176.         $20.00 registration fee.  We do, however, ask that you send $5.00 
  2177.         for  each door written & released.  Consider sending  <something> 
  2178.         if  you   are  upgrading  from an  earlier  version  of  DoorPch.  
  2179.         Version 3.3 places you in sync with the future - PCBoard 14.0 !
  2180.         
  2181.  
  2182.  
  2183.  
  2184.  
  2185.  
  2186.  
  2187.  
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.                                      Page  35
  2220.         DoorPch - Version 3.3
  2221.         User's Guide for DOOR Programmers
  2222.         
  2223.         
  2224.         Trade Marks / Copyrights
  2225.         ========================
  2226.         
  2227.         PCBoard  (R)  is  a registered  trademark  of  Clark  Development 
  2228.         Company (CDC)
  2229.         
  2230.         Microsoft (R) is a registered trademark of Microsoft Corporation.
  2231.         
  2232.         DOS   (MS-DOS)  (R)  is  a  registered  trademark  of   Microsoft 
  2233.         Corporation.
  2234.         
  2235.         BRUN30.EXE is (C) Copyright Microsoft Corporation, 1987
  2236.         
  2237.         DoorPch (C) is Copyright, 1987, 1988
  2238.         
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.                                      Page  36
  2280.